Changelog

v0.4.8

  • Added eigh method to compute eigenvalues and eigenvectors of a two-leg hermitian tensor.

v0.4.7

  • Parallel CPU tests.

  • Added test for version bumps in Gitlab CI/CD pipeline.

v0.4.6

  • Updates from master v0.3.15.

  • Deleted Jenkins-related files.

  • Supporting jax versions above 0.5 which removed jaxlib.xla_extension.

  • Enabled 64 bit precision by default for jax tensors, to allow float64 and complex128 tensors.

v0.4.5

  • Added squeeze_update method to the backend implementations.

  • Adapted to qtealeaves version >= 1.10.0.

  • Added __truediv__ method to abelian tensors.

v0.4.4

v0.4.3

  • Bugfix in slicing in to_dense()

v0.4.2

  • Added matmul method to the abstract tensor class and backend implementations.

v0.4.1

  • Adapted to qtealeaves version 1.8.2 - Changed naming of observables - Removed tensor method set_subtensor_entry in favor of numpy-like indexing and changed code accordingly.

  • Bugfix for QteaQTorchTensor: QteaQuantizer is now pickable.

  • Bugfix for QteaTFTensor returning complex singular values.

  • Changed dockerfile for the build server

v0.4.0

  • Version bump minor for new branch develop.

v0.3.17

  • Fix a bug in the documentation build configuration.

v0.3.16

  • Minimal changes to Gitlab CI/CD configuration, to fix some issue for the public version.

v0.3.15

  • Moved build and deploy stage to Gitlab CI/CD pipeline.

  • Added optional dependencies for each backend, e.g., qredtea[torch] to install the torch backend and its dependencies.

  • Moved the test and deploy pipeline to Gitlab CI/CD, now supporting concurrent testing on different hardware (CPU and GPU).

  • Adapted abelian tensors .split_link_deg_charge to QteaTensor.set_subtensor_entry new logic (qtealeaves v1.7.18) which squeezes links of dimension one.

v0.3.14

  • Modernized the build system by relying solely on pyproject.toml. setup.py is now a thin wrapper around setuptools.setup(). This and conanfile.py will be removed once we switch to Gitlab CI/CD.

  • Removed requirements.txt as dependencies are now specified in pyproject.toml.

v0.3.13

  • Prepare new public version merging master and develop. One version added from master being 0.2.5.

v0.3.12

  • Updated dockerfile.

v0.3.11

  • Bugfix: Restore agreement between the qtealeves version required in requirements.txt and setup.py.

v0.3.10

  • eigvalsh for tensor APIs.

v0.3.9

  • Added support for matrix_functions for all backends, implemented matrix_functions() for Abelian Tensors.

  • Small changes to optimizer and backpropagation functions.

  • Bugfix: removed deepcopy() which obstructed pyTorch’s backpropagation.

  • Bugfix: removed using DenseTensorEigenSolverH as a default option for torch tensor on GPU until the solver is stable.

v0.3.8

  • Change CI/CD tooling to run unittests on GPU.

v0.3.7

  • Overwritten __str__() function for QteaTorchTensor and QteaAbelianTensor to print a cleaner output/all degeneracy tensors.

  • Added _repr_html_() function for QteaAbelianTensor for print output in Jupyter Notebook.

v0.3.6

  • Import changes from branch master, i.e., v0.2.2 to v0.2.4.

  • Update qpytorch with necessary changes with respect to v0.2.4.

v0.3.5

  • Reshuffled methods in tensors a bit; inherit some more methods defined in the base tensor.

  • Update MPI interface and newer version of qtealeaves required.

v0.3.4

  • Added QteaQTorchTensor backend based on [qtorch](https://github.com/Tiiiger/QPyTorch). This emulates numerical quantization on lower-precision devices.

  • Added tests for QteaQTorchTensor backend.

  • Fixed pytest test discovery in pyproject.toml.

v0.3.3

  • Fix bug in flatten for symmetric tensors.

v0.3.2

  • Fix torch tensors conj_update.

  • Use new eigen solver for dense tensors and run its unittests.

  • Update qtealeaves dependency to v1.6.5

v0.3.1

  • Import changes from v0.2.1.

  • Update developers readme.

v0.3.0

  • Version bump minor for new develop branch.

v0.2.5

  • Allow set_missing_link to project into target sectors before truncating.

  • Minor fix local symmetry projectors (overwritten variable in loop).

v0.2.4

  • Allow seed to be set via static method of tensor backend.

v0.2.3

  • Tensorflow backend: accept device index 0, although no higher device indices for GPUs are accepted.

v0.2.2

  • Revisions for benchmarking paper (no changes in source code).

v0.2.1

  • Bugfix sphinx docs

  • Update to new build server.

v0.2.0

  • Switching to python3.11 and upgrading to corresponding qtealeaves version.

  • Implementing some missing new APIs in the tensor modules.

v0.1.20

  • Patching tensordot` by automatic (warned) switching to left-tensor device.

  • Preparing for next public release of qtealeaves.

  • Allowing to skip tests on a specific tensor backend if the associated library is not installed.

v0.1.19

  • Improve QteaTorchTensor towards inheriting from it; fix several methods which would have returned a QteaTorchTensor even after inheriting.

v0.1.18

  • Updates from qtealeaves for ability to select GPU via index and improved mixed-device mode; torch supports GPU via index; tensorflow and jax backend are pending.

v0.1.17

  • flatten for AbelianLinkWeights return native data type of backend (and sorts)

  • old flatten functionality covered in tolist

v0.1.16

  • Implemented a randomize method for all tensor backends.

  • Updated the required version of qtealeaves to 1.4.25

v0.1.15

  • License copyright update and year update

v0.1.14

  • Activate some unittests.

  • Enable einsum via tensordot for two tensors without permutation, without batch.

  • Update qtealeaves version.

  • Remove property has_symmetry and rely on class-wide attribute.

v0.1.13

  • Fix CI/CD for internal repository (no changes in the library).

v0.1.12

  • Update streams (pass flag to QR and SVD).

  • Bugfix normalization after SVD (torch backend)

v0.1.11

  • Char data type now accepts I for int32

  • Bugfix resolve max bond dimension

  • base tensor class can be resolved in _AbstractQteaBaseTensor

  • Bugfix torch sum (via get_attr)

v0.1.10

  • Implemented functions for streams for different backend tensors (streams can be enabled for cupy/GPU by the user, but are not enabled by default).

  • Implement streams for Abelian tensors and the tensordot.

v0.1.9

  • gitignore local installation files

v0.1.8

  • Added the datamover to abelian tensors. Now comes from the base_tensor_class.

  • A bugfix when restricting irreps of symmetric tensors.

  • Also includes the get_optimizer() and backward() calls for torch tensors. The complete backpropagation support is a part of an upcoming version.

v0.1.7

v0.1.6

  • Update the QteaTorchTensor class to allow for a requires_grad option

  • Update the copy function to keep the same requires_grad property

  • Fixed the tensor initialization procedures so that the result torch tensor is always a leaf tensor

v0.1.5

  • Activate isort tool to manage imports.

v0.1.4

  • Update qtealeaves dependency to get new abstract test classes for observables

  • Bugfixes to make unittests for qtealeaves observables pass will all backends

v0.1.3

  • Added get_default_datamover() methods for all tensor backends.

v0.1.2

  • Update qtealeaves version for dependency

  • Add implementation of new abstract interfaces in abstract tensor.

  • Error detection for torch SVD

  • Enables TN ML for torch and jax (jax superslow), tensorflow still failing but running through.

v0.1.1

  • Small bugfixes for the torch backend.

v0.1.0

  • Version bump minor spliting develop from master

  • Bugfix to_dense_singvals

  • Bugfix conversion into symmetric tensors if trivial irreps not in local Hilbert space.

  • Tooling for translating local symmetries in as few global symmetries as possible for TTNs (including an addtion class for symmetry injectors etc.).

v0.0.18

  • Fix missing argument for torch.cumsum by wrapping function; now equal to numpy arguments.

v0.0.17

  • bugfix conj not returning true copy (torch simulation had problems due to this in correlation measurements).

v0.0.16

  • Bugfixes initialization, torch (discovered mostly during dynamics)

v0.0.15

  • Add sphinx files with autodoc for building documentation.

  • Bugfix ArpackError import and tensorflow vacuum state

  • Update benchmarking script (mostly postprocessing part).

v0.0.14

  • Allowing creation of empty tensors (weak symmetries have a valid scenario).

  • Bugfix AbelianSymLinkWeights

  • Multiple smaller fixes.

  • Unittest for MPS simulation and TTO (not actived yet).

  • Change all URLs to public repository; establish mirroring and PyPi.

  • Disable sanity checks for benchmark.

  • Update qtealeaves version.

v0.0.13

  • Implement restricting irreps in tensor link, splitting tensor link in degeneracy and charge.

  • Passing through initialtization “1” (qtealeaves version must allow).

  • Fix things for higher-rank tensors (mostly split_svd)

  • Read / write pickle for tensor.

  • Unittest for finite-T simulation (not actived yet).

  • Symmetry injector: added global keyword for globally selected symmetry sector instead of TTN-specific (0, 0) key.

v0.0.12

  • Define qtealeaves version via >= allowing for more combinations (e.g., with qmatchatea).

v0.0.11

  • Fixes to inject abs for jax and tensorflow; remove injected when using Arpack interface.

v0.0.10

  • Fixes for Abelian symmetry with torch, jax, and tensorflow.

  • Extend benchmarking scripts.

v0.0.9

  • Implemented try-except on the __init__ level to avoid errors when importing from the library

v0.0.8

  • Implemented mask_to_host for tensorflow and jax

  • Implemented the possibility of passing a np.ndarray when initializing an arbitrary tensor with Qtea<Backend>Tensor.from_elem_array()

  • Implemented kron method for all non-symmetric backends

v0.0.7

  • Update qtealeaves version.

  • Introduce jax and tensorflow backends

  • Introduce benchmarks

  • Update pylint and black version (e.g., exception handling)

  • Bugfix in setup, symmetries was not installed but required by torchapi

  • Fixes for pytorch for benchmarks

  • Bugfix in torchapi, the minimum bond dimension was required by a truncation function

  • Added precise version of pytorch that is tested

  • Bugfix for astype not being defined for torch tensors, using .to instead to change type

v0.0.6

  • Bugfixes for torchapi, e.g., mask to device.

v0.0.5

  • Add Abelian symmetry class.

  • Fix small issues in pytorch found when running examples simulations with symmetries.

v0.0.4

  • Enable unittesting for QteaTorchTensors (torch available on build server now)

  • Update to qtealeaves v1.2.6, e.g., operator sets, block size.

  • Small bugfixes in QteaTorchTensor

v0.0.3

  • Enable XLA devices for torch (still a bit bumpy, but well …)

v0.0.2

  • Add tensor-class with support for torch.

v0.0.1

  • Create repository